package com.cefa.finance.model;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.util.Date;

@Data
public class ContractModel {

    private Long id;
    private String lessor;
    private String lessorAddress;
    private String tenantryName;
    private String tenantryAddress;
    private String phone;
    private Long vehicleId;
    private Long userId;
    private Date startDateOfLease;
    private Date endDateOfLease;
    private Integer repaymentDate;
    private String contractName;
    private String originContractName;

    private User user;
    private Vehicle vehicle;
    private String vin;
    private Long travlledKilometers=0L;
    private String brand;
    private Integer maintenanceNum;
    private Integer accidentNum;
    private Integer repaymentNum;
    private Date registerDate;

    private String regFrom;
    private String regTo;

    private String leaseStartFrom;
    private String leaseEndTo;

    private Integer pageNo;
    private Integer pageCount;

    private String lengthOfLease;

    private Long recordUser;
    private Boolean blockStatus;

    private Date reportTime;
    private String reportNumber;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getLessor() {
        return lessor;
    }

    public void setLessor(String lessor) {
        this.lessor = lessor;
    }

    public String getLessorAddress() {
        return lessorAddress;
    }

    public void setLessorAddress(String lessorAddress) {
        this.lessorAddress = lessorAddress;
    }

    public String getTenantryName() {
        return tenantryName;
    }

    public void setTenantryName(String tenantryName) {
        this.tenantryName = tenantryName;
    }

    public String getTenantryAddress() {
        return tenantryAddress;
    }

    public void setTenantryAddress(String tenantryAddress) {
        this.tenantryAddress = tenantryAddress;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    @JSONField(format = "yyyy-MM-dd")
    public Date getStartDateOfLease() {
        return startDateOfLease;
    }

    public void setStartDateOfLease(Date startDateOfLease) {
        this.startDateOfLease = startDateOfLease;
    }

    @JSONField(format = "yyyy-MM-dd")
    public Date getEndDateOfLease() {
        return endDateOfLease;
    }

    public void setEndDateOfLease(Date endDateOfLease) {
        this.endDateOfLease = endDateOfLease;
    }

    public Integer getRepaymentDate() {
        return repaymentDate;
    }

    public void setRepaymentDate(Integer repaymentDate) {
        this.repaymentDate = repaymentDate;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public Vehicle getVehicle() {
        return vehicle;
    }

    public void setVehicle(Vehicle vehicle) {
        this.vehicle = vehicle;
    }

    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    public String getOriginContractName() {
        return originContractName;
    }

    public void setOriginContractName(String originContractName) {
        this.originContractName = originContractName;
    }

    public Long getVehicleId() {
        return vehicleId;
    }

    public void setVehicleId(Long vehicleId) {
        this.vehicleId = vehicleId;
    }

    public Long getTravlledKilometers() {
        return travlledKilometers;
    }

    public void setTravlledKilometers(Long travlledKilometers) {
        this.travlledKilometers = travlledKilometers;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Integer getMaintenanceNum() {
        return maintenanceNum;
    }

    public void setMaintenanceNum(Integer maintenanceNum) {
        this.maintenanceNum = maintenanceNum;
    }

    public Integer getAccidentNum() {
        return accidentNum;
    }

    public void setAccidentNum(Integer accidentNum) {
        this.accidentNum = accidentNum;
    }

    public Integer getRepaymentNum() {
        return repaymentNum;
    }

    public void setRepaymentNum(Integer repaymentNum) {
        this.repaymentNum = repaymentNum;
    }

    @JSONField(format = "yyyy-MM-dd")
    public Date getRegisterDate() {
        return registerDate;
    }

    @JSONField(format = "yyyy-MM-dd")
    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    public String getRegFrom() {
        return regFrom;
    }

    public void setRegFrom(String regFrom) {
        this.regFrom = regFrom;
    }

    public String getRegTo() {
        return regTo;
    }

    public void setRegTo(String regTo) {
        this.regTo = regTo;
    }

    public String getLeaseStartFrom() {
        return leaseStartFrom;
    }

    public void setLeaseStartFrom(String leaseStartFrom) {
        this.leaseStartFrom = leaseStartFrom;
    }

    public String getLeaseEndTo() {
        return leaseEndTo;
    }

    public void setLeaseEndTo(String leaseEndTo) {
        this.leaseEndTo = leaseEndTo;
    }

    public Integer getPageNo() {
        return pageNo;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo = pageNo;
    }

    public Integer getPageCount() {
        return pageCount;
    }

    public void setPageCount(Integer pageCount) {
        this.pageCount = pageCount;
    }

    public String getLengthOfLease() {
        return lengthOfLease;
    }

    public void setLengthOfLease(String lengthOfLease) {
        this.lengthOfLease = lengthOfLease;
    }

    public Long getRecordUser() {
        return recordUser;
    }

    public void setRecordUser(Long recordUser) {
        this.recordUser = recordUser;
    }

    public Boolean getBlockStatus() {
        return blockStatus;
    }

    public void setBlockStatus(Boolean blockStatus) {
        this.blockStatus = blockStatus;
    }

    @JSONField(format = "yyyy-MM-dd")
    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }

    public String getReportNumber() {
        return reportNumber;
    }

    public void setReportNumber(String reportNumber) {
        this.reportNumber = reportNumber;
    }
}
